package com.train.common.utils.convert;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.List;
import java.util.Map;

public class JsonConvertUtils {

    public static <T> T convert(String json, String key, Class<T> clazz) {
        JSONObject jsonObject = JSON.parseObject(json);
        JSONObject bodyObject = jsonObject.getJSONObject(key);
        return bodyObject.toJavaObject(clazz);
    }

    public static <T> List<T> convert(String json, Class<T> clazz) {
        return JSON.parseArray(json, clazz);
    }

    public static <T> T convert(Map<?, ?> jsonMap, Class<T> clazz) {
        return JSON.parseObject(JSON.toJSONString(jsonMap), clazz);
    }

    public static <T> T convert(byte[] jsonByte, Class<T> clazz) {
        return JSON.parseObject(new String(jsonByte), clazz);
    }
}
